Efficient management of shared cache memories in a computer system with multi-core processors is crucial to the performance of the system. Multithreading execution also impacts reusability of data stored in cache memories.
Applications running on multi-core processors show different memory access behaviors (e.g., spatial locality and temporal locality of data). Some applications perform better when more shared data are kept in a cache, while some applications perform better when more private data are kept in the cache.
A replacement policy (e.g., a least recently used policy) is used to select a victim cache line for eviction and has an effect on miss rate performance of a cache. Typically, whether data in the cache are shared or not has not been a factor in replacement policies.